#include<stdio.h>
#include<string.h>

int main()
{
   int n=0;
   scanf("%d",&n);
   char a[500];
   scanf("%s",a);
   while(n--)
   {
      int x=0;
      scanf("%d",&x);
      switch(x)
      {
        case 1:
        {
         char b[100];
         scanf("%s",b);
         strcat(a,b);
         printf("%s\n",a);
         break;
        }
        case 2:
        {
          int l,r;
          scanf("%d %d",&l,&r);
          strncpy(a,a+l,r);
          a[r]='\0';
          printf("%s\n",a);
          break;
        }
        case 3:
        {
          int x=0;
          char c[100];
          scanf("%d %s",&x,c);
          int lena=strlen(a);
          char tem[100]={0};
          strncpy(tem,a,x);
          strcat(tem,c);
          strcat(tem,a+x);
          strcpy(a,tem);
          printf("%s\n",a);
          break;
        }
        case 4:
        {
           char d[100];
           scanf("%s",d);
           int lena=strlen(a);
           int lend=strlen(d);
           int i=0;
           while(i<lena)
           {
             if(a[i]==d[0])
             {
                int flag=1;
                for(int j=1;j<lend;j++)
                {
                    if(a[j+i]!=d[j])
                    {
                        flag=0;
                        break;
                    }
                }
                if(flag) 
                {
                    printf("%d\n",i);
                    return 0;
                }  
             }
             i++;
           }
           printf("-1\n");

      }
    }
   }
}